int pop(seqstack *s, datatype *X)
{
  if (emptystack(s))
  {
    printf("栈空,不能出栈！");
    return 0;
  }
  else
  {
    *x = s->data[s->top];
    s->top--;
    return 1;
  }
}
int gettop(seqstack *s, datatype *x)
{
  // 取栈顶元素函数
  if (emptystack(s))
  {
    printf("栈空，取栈顶元素失败！");
    return 0;
  }
  else
  {
    *x = s->data[s->top];
    return 1;
  }
}
main()
{
  int i, n, flag;
  seqstack s;
  datatype x;
  char ch1, ch2, a;
  ch1 = 'y';
  while (ch1 == 'y' || ch1 == 'y')
  {
    menu();
    scanf("%c", &ch2);
    getchar();
    switch (ch2)
  }
case '1';
    initstack(&s);
    printf("栈的初始化完成！");
    break;
    case '2':
  printf("请输入要入栈的元素个数:");
  scanf("%d", &n);
  printf("请输入%d个入栈的整数：", n);
  for (i = 0; i < n; i++)
  {
    scanf("%d", &x);
    flag = push(&s, x);
  }
  if (flag == 1)
    printf("入栈成功！");
  for (i = 0; i < n; i++)
  {
    flag = pop(&s, &x);
    printf("%5d", x);
  }
  if (flag == 1)
    printf("\n出栈成功！");
  else
    printf("出栈失败！");
  break;
case '4':
  if (flag = get top(&s, &x))
    printf("当前的栈顶元素值为:%d,x");
  break;
  case '0';
  ch1='n';break;
  default;
  printf("输入有误，请输入0~4进行选择!");
}
if(ch2!='0')
{printf("\n按回车键继续，按任意键返回主菜单！\n");
a=getchar();
if(a!='\xa')
{
  getchar();ch1='n';
}
}
